//
//  NSDate + Extension.swift
//  WHYWeibo-1.0
//
//  Created by 王洪运 on 15/12/9.
//  Copyright © 2015年 王洪运. All rights reserved.
//

import Foundation

extension NSDate {
    
    /// 将新浪微博时间格式的字符串转换成日期
    ///
    /// - parameter str: 新浪微博时间格式的字符串
    ///
    /// - returns: 日期
    class func sinaDate(str: String) -> NSDate? {
        
        let df = NSDateFormatter()
        
        df.locale = NSLocale(localeIdentifier: "en")
        df.dateFormat = "EEE MMM dd HH:mm:ss zzz.yyyy"
        
        return df.dateFromString(str)
    }
    
   
    /// 返回当前日期的描述信息
    /**
                刚刚(一分钟内)
                X分钟前(一小时内)
                X小时前(当天)
                
                昨天 HH:mm(昨天)
                MM-dd HH:mm(一年内)
                yyyy-MM-dd HH:mm(更早期)
    */
    var dateDescription: String {
        
        let calendar = NSCalendar.currentCalendar()
        
        if calendar.isDateInToday(self) {
            
            let delta = Int(NSDate().timeIntervalSinceDate(self))
                
            if delta < 60 {
                return "刚刚"
            }
            
            if delta < 3600 {
                return "\(delta / 60) 分钟前"
            }
            
            return "\(delta / 3600) 小时前"
        }
        
        
        var format = " HH:mm"
        if calendar.isDateInYesterday(self) {
            
            format = "昨天" + format
            
        }else {
            
            format = "MM-dd" + format
            
            //        比较两个日期之间是否有一个完整的年份差值
            let comps = calendar.components(.Year, fromDate: self, toDate: NSDate(), options: [])
            
            if comps.year > 0 {
                format = "yyyy-" + format
            }
            
        }
        
        let df = NSDateFormatter()
        df.dateFormat = format
        df.locale = NSLocale(localeIdentifier: "en")
        
        
        
        return df.stringFromDate(self)
    }
    
}



